
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;
import org.fusesource.jansi.AnsiConsole;

public class CadastroPaciente {

	public static void capaciente() {
		AnsiConsole.out.print("\u001b[2J");
		Scanner dados = new Scanner(System.in);
		short x=1, tiposangue;
		String nome, alahosp, cpf="", id="";
		boolean erro;
		System.out.println("___________________________________Hemouna______________________________________");
		System.out.println("____________________________Cadastros - Paciente________________________________");
		System.out.println("\n\n\n");
		try{
			Class.forName("org.hsqldb.jdbcDriver" ); 	    
		    Connection con = DriverManager.getConnection("jdbc:hsqldb:file:Banco/BD", "sa", "");
		    Statement stm= con.createStatement(); 
			while (x == 1){
				System.out.print("CPF (Somente Numeros): ");
				erro = true;
				while (erro == true){
					cpf = dados.next();
					if (cpf.length() == 11){
						erro = false;
					} else {
						System.out.println("CPF invalido. Informe um valido.");
					}
					if (erro == false){
						ResultSet rs = stm.executeQuery("SELECT cpf FROM paciente where cpf="+cpf);
						while (rs.next()){
							id = rs.getString("cpf");
						}
						if (id.equals(cpf)){
							System.out.println("Este Paciente ja esta cadastrado. Informe outro.");
							erro = true;
						} else {
							break;
						}
					}
				}
				dados.nextLine();
				System.out.print("\nNome: ");
				nome = dados.nextLine();
				System.out.println("\nTipo Sanguineo: ");
				System.out.printf("+----------+--------+--------+--------+--------+---------+---------+-----------+");
				System.out.printf("|   1 - O+ | 2 - O- | 3 - A+ | 4 - A- | 5 - B+ | 6 - B - | 7 - AB+ | 8 - AB -  |");
				System.out.printf("+----------+--------+--------+--------+--------+---------+---------+-----------+\n");
				tiposangue = dados.nextShort();
				dados.nextLine();
				System.out.print("\nAla do Hospital: ");
				alahosp = dados.nextLine();

			    stm.execute("INSERT INTO PACIENTE VALUES('"+cpf+"','"+tiposangue+"','"+nome+"','"+alahosp+"')");

			    System.out.printf("\n+------------------------------------------------------------------------------+");
				System.out.printf("|                      Cadastro realizado com sucesso                          |");
				System.out.printf("+------------------------------------------------------------------------------+");
				System.out.println("\n\nCadastrar outro paciente? 1-Sim ou 2-Nao");
				x = dados.nextShort();
				System.out.print("\n\n");
				dados.nextLine();
			}
			stm.execute("SHUTDOWN");
		}catch(ClassNotFoundException e){
		    System.out.println("Erro ao carregar o driver JDBC. ");
		}catch(Exception e){
		    System.out.println("Erro de SQL: "+e);
		    e.printStackTrace();
		}
		MenuCadastro.mecadastro();
	}

}
